package com.winshare.saleAssistant.mapper;

import com.winshare.saleAssistant.domain.dto.req.AppRoleCreateDTO;
import com.winshare.saleAssistant.domain.dto.req.AppRoleQueryDTO;
import com.winshare.saleAssistant.domain.dto.req.AppRoleUpdateDTO;
import com.winshare.saleAssistant.domain.dto.req.BaseIdDTO;
import com.winshare.saleAssistant.domain.dto.resp.AppRoleRespDTO;
import com.winshare.saleAssistant.domain.entity.AppRoleDO;
import com.winshare.saleAssistant.domain.query.AppRoleQuery;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface AppRoleMapStruct {

    AppRoleMapStruct INSTANCE = Mappers.getMapper(AppRoleMapStruct.class);

    AppRoleDO fromAppRoleCreateDTO(AppRoleCreateDTO appRoleCreateDTO);

    AppRoleDO fromAppRoleUpdateDTO(AppRoleUpdateDTO appRoleUpdateDTO);

    AppRoleQuery fromAppRoleQueryDTO(AppRoleQueryDTO appRoleQueryDTO);

    AppRoleRespDTO fromAppRoleDO(AppRoleDO appRoleDO);

    List<AppRoleRespDTO> fromAppRoleDOList(List<AppRoleDO> appRoleDOList);

    AppRoleDO fromBaseIdDTO(BaseIdDTO baseIdDTO);
}
